#include "gpio.h"

extern SYS_TIME_T sys_time_t;
/*****************************************************************************
 �� �� ��  : gpios_init
 ��������  : �˿ڳ�ʼ��
 �������  : ��      
 �������  : ��
 �� �� ֵ: ��
 �޸���ʷ    :
  1.��    ��   : 2019��03��03��
    ��    ��   : ΢Ц����
    �޸�����   : ����
*****************************************************************************/
void gpios_init(void)
{
      P1 &= 0x00;
      return;
}

/*****************************************************************************
 �� �� ��  : gpio_debug
 ��������  : �˿��������
 �������  : ��      
 �������  : ��
 �� �� ֵ  : ��
 �޸���ʷ  :
  1.��    ��   : 2019��03��03��
    ��    ��   : ΢Ц����
    �޸�����   : ����
*****************************************************************************/
void gpio_debug(void)
{

}


/*****************************************************************************
 �� �� ��  :send_byte_74hc595
 ��������  :74hc595�����ֽ�
 �������  : ��      
 �������  : ��
 �� �� ֵ  : ��
 �޸���ʷ  :
  1.��    ��   : 2019��03��03��
    ��    ��   : ΢Ц����
    �޸�����   : ����
*****************************************************************************/
void send_byte_74HC595(INT8U _byte)
{
    INT8U Bit;

    for(Bit = 0; Bit<8; Bit++)
    {
        CLR_SRCLK();   
        if(GET_Bit(_byte, 7))
        {
            SET_SER();
        }
        else
        {
            CLR_SER();
        }
        _byte = _byte << 1;
        SET_SRCLK(); 
    }  
    
    SET_RCLK();
}
 
/*****************************************************************************
 �� �� ��  :send_byte_74hc595
 ��������  :74hc595������
 �������  : ��      
 �������  : ��
 �� �� ֵ  : ��
 �޸���ʷ  :
  1.��    ��   : 2019��03��03��
    ��    ��   : ΢Ц����
    �޸�����   : ����
*****************************************************************************/
void send_word_74HC595(INT8U _byte_A, INT8U _byte_B )
{
    INT16U Bit, Word;

    Word = (_byte_B << 8) | _byte_A;

    CLR_RCLK();

    for(Bit = 0; Bit < 16; Bit++)
    {
        CLR_SRCLK();
        if(GET_Bit(Word, 15))
        {
            SET_SER();
        }
        else
        {
            CLR_SER();
        }
        Word = Word << 1;
        SET_SRCLK(); 
    }
    
    SET_RCLK();
}
